The present disclosure relates generally to modification of a device mapper stack, and more specifically, to non-disruptive modification of a device mapper stack.
In the Linux kernel, the device mapper serves as a generic framework to map one device onto another. The device mapper forms the foundation of logical volume management (LVM2), software redundant array of independent disks (RAIDs), multipath, disk encryption, and offers additional features such as file system snapshots. The device mapper works by redirecting or copying data from a virtual device, which is provided by the device mapper, to a target or physical device. If the device mapper creates or otherwise uses a copy of the data, the device mapper operation may modify the data.
In general, in order to insert a device mapper layer into an existing device mapper stack, it must go logically above an existing device mapper layer, but not disrupt the operation of applications that are utilizing the existing device mapper layer. Currently, all device mapper layers are inserted during construction of the device mapper stack, rather than after. However, inserting layers during initial construction of the device mapper stack requires involvement of the system integrator, and is therefore not feasible for systems that have already been deployed.